1. Field of Invention
The present invention relates generally to the field of software applications used on an information network (such as a cable television network), and specifically to the management and control of windows or other user display elements between multiple applications.
2. Description of Related Technology
Software applications are well known in the prior art. Such applications may run on literally any type of electronic device, and may be distributed across two or more locations or devices connected by a network. Often, a so-called “client/server” architecture is employed, where one or more portions of applications disposed on client or consumer premises devices (e.g., PCs, PDAs, digital set-top boxes {DSTBs}, hand-held computers, etc.) are operatively coupled and in communication with other (server) portions of the application. Such is the case in the typical hybrid fiber coax (HFC) or satellite content network, wherein consumer premises equipment or CPE (e.g., DSTBs or satellite receivers) utilize the aforementioned “client” portions of applications to communicate with their parent server portions in order to provide downstream and upstream communications and data/content transfer.
Digital TV (DTV) is an emerging technology which utilizes digitized and compressed data formats (e.g., MPEG) for content transmission, as compared to earlier analog “uncompressed” approaches (e.g., NTSC). The DTV content may be distributed across any number of different types of bearer media or networks with sufficient bandwidth, including HFC, satellite, wireless, or terrestrial. DTV standards such as the OpenCable Application Platform middleware specification (e.g., Version 1.0, and incipient Version 2.0) require that applications be downloaded to CPE from the bearer or broadcast network in real-time. The OCAP specification is a middleware software layer specification intended to enable the developers of interactive television services and applications to design such products so that they will run successfully on any cable television system in North America, independent of set-top or television receiver hardware or operating system software choices.
A recently proposed Home Audio Video Interoperability (HAVi) standard is a consumer electronics (CE) industry standard designed to permit conforming digital audio and video devices, regardless of manufacturer, to interoperate when connected via a network in the consumer's home. The HAVi standard uses the digital IEEE-1394 network standard for data transfer between devices and the 1394 A/VC protocols for device control.
The HAVi standard focuses on the transfer and processing (for example, recording and playback) of digital content between networked devices. HAVi-compliant devices will include not only familiar audio and video components but also cable modems, digital set-top boxes and “smart” storage devices such as personal video recorders (PVRs). In the future, other kinds of devices such as videophones and personal digital assistants (PDAs) also may become part of a HAVi home network. By letting a TV set, or any other device on the network that has a display capability, act as a network hub to both control and show the status of any connected device, compliance with the HAVi standard will make consumer electronic equipment easier to use. In a HAVi-compliant system, all of the networked components can be run from the TV with one remote control. A home PC will not be required for a HAVi-compliant system to operate, such system being independent of any operating system or microprocessor. However, a PC can act as a HAVi-compliant device, with the ability to control other connected devices.
Compliance with the HAVi standard also allows disparate brand devices to be hooked into a home network. A DV camcorder, video game player or even a refrigerator conforming to the HAVi standard could be plugged into a network and have its features automatically available for use by other devices on the network. From the consumer's perspective, all that is required is to select a task for a device and the HAVi host will order the task performed.
By employing modular software, the HAVi standard allows consumer electronics devices to identify themselves and what they can do when plugged into the host. The software functions by assigning a device control ID module to each hardware component of a system. Each system also is assigned multiple functional component modules, containing information about an individual device's capabilities, for example, whether a camcorder operates in DV format, or whether a receiver is designed to process AC3 audio.
HAVi-compliant devices automatically register their operating status, device functions and location with other components in the network. So when a host device recognizes a new component on a HAVi system, the host loads the appropriate device and functional modules, allowing users to control the target device from the host.
Despite the foregoing, the features promised by the HAVi standard will only be available for HAVi-compliant devices. Further, the HAVi standard anticipates that the graphical user interface of the network of components is displayed on a television or other video display component of the system, thus requiring the video display component to be powered on when using a system device. If a user desires to use only the audio components of a system the video display must still be powered on.
The user interface (UI) aspects of HAVi were adopted by several relevant and well known standards including OCAP, MHP, ACAP, and GEM. However, in the context of multiple unrelated applications running concurrently (and each possibly displaying one or more windows), the current OCAP graphics reference model imposes unwanted constraints. For example, when running a ticker application, OCAP provides no mechanism to guarantee that the ticker window is not overlaid by another application's window. It is also recognized that the MHP Standard from which OCAP is derived (i.e., Version 1.0.2) only runs applications that are associated; i.e., delivered in the same service and programmed to work together. This, however, is not the case with OCAP, which extends MHP to allow other types of applications not associated with applications in a particular service to run concurrently with any other applications. This heterogeneous application capability of OCAP can accordingly create many different mixtures of different applications each with different windowing requirements and capabilities.
HAVi states that any system using HAVi should define a “home navigation shell” if any window management rules beyond the base HAVi definition are needed. HAVi specifies z-ordering and other window management aspects within an application, but does not address cross-application window management.
In addition to the HAVi approach described above, a variety of other approaches to application window management and handling within computer and network systems in general are taught in the prior art.
For example, U.S. Pat. No. 4,845,644 to Anthias, et al. issued Jul. 4, 1989 and entitled “Data display system” discloses a data display system in which input-output display devices are connected to a central processor, and users select application programs that are run on the central processor. The control system of the central processor includes a display manager control system and a windowing control mechanism which allows a plurality of tasks to be performed concurrently and the results displayed in areas of a display screen. The windowing control mechanism includes, a task manager control program which runs as an application in the display manager control system and includes means to interact, via the display manager, with the operator to allow applications to be initiated, means to create tasks to control the processing of the application in such a way that the applications can be suspended or resumed according to whether the operator is ready for them, and means to identify to the display manager a coordination controller that the display manager can call to allow the task manager to suspend and resume applications. The display manager includes, means to combine data from each application and build a display representation that shows many windows into the various applications onto a single screen, and means to call the coordination controller identified by the task management application so that the task manager can suspend applications that are waiting for input and resume those applications which have input available.
U.S. Pat. No. 4,890,098 to Dawes, et al. issued Dec. 26, 1989 and entitled “Flexible window management on a computer display” discloses a technique for managing windows in a display system. The window manager allows a user to mark an area on the display to define the dimensions and contents of a resized window. All non-hidden text and attributes within the enclosed area are incorporated into the resized window; however, the original windows do not lose their original characteristics. The marked area may span multiple windows, so multiple windows may be incorporated into the newly resized window. For each position within the newly resized window, a check is made for a window below. If no window exists below this position, the default, or background, character and attribute are incorporated into the newly resized window. If there exists a window below, a determination is made as to whether the window below is visible or hidden. If hidden, the system continues to look for a visible window until no further window is found below, at which point the default character and attribute are incorporated into the newly resized window. When a visible window is found below the newly resized window, the character and attribute from its corresponding position are read and incorporated into the newly resized window. This process continues until all of the information is processed from the marked area. In this manner, a window can be enlarged to incorporate the contents of several windows by enclosing several windows in the marked area.
U.S. Pat. No. 5,113,517 to Beard, et al. issued May 12, 1992 and entitled “Concurrent display of data from two different processors each having different display font and user interface for controlling transfer of converted font data therebetween” discloses a multiprocessor system comprising concurrent display of video data reflecting the operation of two processors in discrete portions of a single display screen with a user interface adapted for interaction with both processors. One processor controls the entire display while allocating a portion of the display screen for the use of the other processor which processor emulates a target processor system, for example, the IBM PC. A user interface is represented on the display screen in the form of metaphoric objects, called icons, with which the user can interact by changing the input focus to a designated object by visually pointed to it via the input means, which thereafter permits manipulation of the designated object of interaction with data input/output relative to the designated object. This input means is also used to initially change the input focus to either the allocated emulating processor screen portion or to the remaining portion of the central processor display screen prior to interaction with the metaphoric objects in a selected screen portion, the change of the input focus causing subsequent user input via the input means to be directed to the selected screen portion until interrupted by a change in focus input to the other of the screen portions by the user via the input means. Facilities are also provided to permit transferring of displayed data reflecting the operation of one processor to the control of the other processor in response to user inputs selecting the data to be transferred and indicating the destination of the selected data on the display.
U.S. Pat. No. 5,175,813 to Golding, et al. issued Dec. 29, 1992 and entitled “Window display system and method for creating multiple scrollable and non-scrollable display regions on a non-programmable computer terminal” discloses a windowing system with interface between application programs and non-programmable terminal drivers. The system presents logical windows to the applications program, each of which are represented internally by at least two separate parts. The first part includes the border and non-scrollable text for a logical window, while the second part includes scrollable text for the window. Through calls to the display driver, the windowing system manipulates these separate parts so that they are displayed on the screen as a single window.
U.S. Pat. No. 5,276,437 to Horvath, et al. issued Jan. 4, 1994 and entitled “Multi-media window manager” discloses an apparatus and method for displaying non-obscured pixels in a multiple-media motion video environment (dynamic image management) possessing overlaid windows. In an encoding process, only boundary values and identification values corresponding to each window on a screen are saved in memory of a hardware device. In a decoding process, the hardware device utilizes these initial boundary values saved in memory in such a way that when incoming video data enters the hardware device, the hardware device need only compare the incoming video data's identification with the identification saved in memory. The hardware device includes: compare logic devices, counters, minimal memory devices, a control logic block, and a driver.
U.S. Pat. No. 5,408,602 to Giokas, et al. issued Apr. 18, 1995 and entitled “System and method for emulating a window management environment having a uniform windowing interface” discloses an X window display server providing a virtual window manager client that, from the viewpoint of client programs connected to the server, is indistinguishable from a real window manager client. The emulated window manager is implemented as an internal server client.
U.S. Pat. No. 5,502,839 to Kolnick issued Mar. 26, 1996 and entitled “Object-oriented software architecture supporting input/output device independence” discloses an object-oriented software architecture that interacts with “real” input/output devices exclusively through “virtual” input/output devices. Since all human interface with the operating system is performed through such virtual devices, the system can accept different forms of real input or output devices. The lowest level of the operating system converts input from a physical device to virtual form and converts virtual output into suitable physical output. A number of physical devices can be connected to, removed from, or replaced in the system without disrupting the system.
U.S. Pat. No. 5,522,025 to Rosenstein issued May 28, 1996 and entitled “Object-oriented window area display system” discloses an object-oriented window manager providing coordination between window displays generated by separate application programs by computing and storing the visible area of each application window each time displayed windows are changed. Each application program directly communicates with the screen buffer memory in order to redraw portions of the screen corresponding to its display area using the visible area computed by the window manager. Each application program communicates with the object-oriented window manager by creating a window object which provides display capabilities that are transparent to the application program. Several techniques are used to decrease the visible area computation time. First, a copy of the visible area is stored or “cached” in each window object. This copy can be used if the application program needs to redraw the window area and the visible area has not been changed. In addition, the window manager computes the visible area of each application window utilizing a routine that assumes that only a single window has been changed and compares the new visible area of the window to the old visible area to obtain the change area. This change area is then used to recompute the visible area of all windows which lie behind the changed window.
U.S. Pat. No. 5,564,002 to Brown issued Oct. 8, 1996 and entitled “Method and apparatus for implementing a virtual desktop through window positioning” discloses a virtual desktop system that organizes open applications of a computer into groups of programs that perform common functions or tasks. The groups of programs are called Desktops and the virtual desktop system provides a Desktop Manager for assigning ranges of display screen coordinates to these Desktops, and then assigning open applications to them. Specifically, the Desktop Manager is a system software program that contains a plurality of Desktop groups and that provides a user interface for managing the display of selected open applications assigned to the Desktops. These selected open applications are displayed in application windows on a display screen of the computer when switching between Desktops in the virtual desktop system.
U.S. Pat. No. 5,581,686 to Koppolu, et al. issued Dec. 3, 1996 and entitled “Method and system for in-place interaction with contained objects” discloses a computer method and system for interacting with a containee object contained within a container object. The container object has a container application with a container window environment that has container resources for interacting with the container object. The containee object has a server application with a server window environment with server resources for interacting with the containee object. The invention displays the container window environment on a display device. A user then selects the containee object. In response to selecting the containee object, the system integrates a plurality of the server resources with the displayed container window environment. When a user then selects a server resource, the server application is used to process the server resource selection. Conversely, when a user selects a container resource, the container application is used to process the container resource selection.
U.S. Pat. No. 5,621,879 to Kohda issued Apr. 15, 1997 and entitled “Window management information input/output system” discloses a data processing unit capable of displaying a window on the display screen, ostensibly to refer to and update window management information, that is, information indicating the size and the position of the window, etc. in a representation format comprehensible for a user. It comprises (i) a window selecting unit for selecting a window corresponding to the window management information to be accessed by the user, (ii) a window-management-information-providing unit for inputting to and outputting from the display the management information in the format comprehensible for the user, (iii) a window-management-information-reading unit for reading the management information for the selected window from the window system, converting the representation format of the information, and outputting the result to the window-management-information-providing unit, and (iv) a window-management-information-writing unit for converting the management information converted on the display screen using, for example, a keyboard, and outputted by the window-management-information-providing unit back to the original representation format, and for outputting the result to the window system.
U.S. Pat. No. 5,692,142 to Craycroft, et al. issued Nov. 25, 1997 and entitled “Support for custom user-interaction elements in a graphical, event driven computer system” discloses a system whereby support for so-called “custom gadgets” is provided, at a system software level, in a manner that is essentially application-transparent. Specific support is provided for the addition of one custom gadget per window. The custom gadget is identified by a specific numeric code in the same manner as the close and zoom boxes. An application tells the system software what the custom gadget for a particular window should look like. The code responsible for drawing that window's frame then knows where to find the image of the custom gadget and will render it appropriately. When a user clicks in the custom gadget, the system software notifies the application of the event by means of the numeric code associated with the custom gadget.
U.S. Pat. No. 5,764,230 to Baradel, et al. issued Jun. 9, 1998 and entitled “Window manager suitable for multiple window workstations” discloses a window manager for a windowing system including a window server to command the display on screen of first windows reserved by client programs of the system. The window manager manages the disposition and the circulation of first windows within a second window reserved by the system. The server holds in memory a tree structure of windowing data on the basis of which the window server communicates with the screen window manager and with the client programs. This structure has a root defining the second window and nodes defining corresponding first windows. The window manager manages in the root a first list of identifiers of first windows and detects in each node the presence or the absence of control data. If control data is present in a node defining a particular first window, the window manager manages the disposition and the circulation of the first windows on the basis of second window data under the control of a client program.
U.S. Pat. No. 5,831,609 to London, et al. issued Nov. 3, 1998 and entitled “Method and system for dynamic translation between different graphical user interface systems” discloses a translation software that provides remote access to an application program that is executing on a host machine in its native operating system environment. The translation software monitors messages that are relayed from the application program to an application interface that is provided via the native operating system. Upon recognizing a message that affects a graphical user interface of the native operating system, the translation software converts the message into a protocol that is recognized by a remote graphical user interface. By monitoring and converting messages in this fashion, the translation software allows the application program to be displayed remotely.
U.S. Pat. No. 5,856,826 to Craycroft issued Jan. 5, 1999 and entitled “Method and apparatus for organizing window groups and windows in a table” discloses a method and apparatus for organizing windows to be displayed on a screen of a computer system into window groups by attribute, function, content, or any arbitrary characteristic. A window's membership in a window group is also assigned a status that determines whether the window, upon selection, is displayed individually or as part of that group. Each window may simultaneously belong to a plurality of window groups. A data structure may be formed in a table where windows represent rows and window groups represent columns.
U.S. Pat. No. 5,867,160 to Kraft, IV, et al. issued Feb. 2, 1999 and entitled “System and method for task prioritization in computerized graphic interface environments” discloses a system and method for automatically adjusting priority assigned to execution of applications, tasks, or workspaces to improve performance relative to other such applications, tasks or workspaces in a computerized multitasking graphical user interface environment. A display of a plurality of visual indicators is provided, each of which corresponds to a differing task. By selection of one of the indicators, the priority given to execution of the task is altered as the task is thereby moved into a focused state as a result of such selection. A window manager interposed between a server and application registers in the server the adjusted state of a particular application as being either set in focus or cleared. An application may detect from the server a window-id corresponding to the application for which an adjustment in priority is desired. A mapper function, lookup table, or the like for mapping window-id to a corresponding process-id is obviated as a result of employing messaging/signalling. The amount of CPU resource then directed to the particular application as a result of the priority alteration is thereby in turn altered. In this manner, a focused application is dynamically provided with added CPU resource relative to remaining tasks, applications, or suites thereof associated with a workspace executing in the multitasking environment.
U.S. Pat. No. 5,874,960 to Mairs, et al. issued Feb. 23, 1999 and entitled “Method and system for sharing applications between computer systems” discloses a method in a computer system for displaying data generated by a shared application on a host computer system on both a host display of the host computer system and a shadow display of a shadow computer systems The host computer system has a window manager for managing windows displayed on the host display. The shadow computer system has a window manager for managing windows displayed on the shadow display. Under control of the host computer system, a Share System executes the shared application. Then, the Share System registers a host window with the windowing system of the host computer system. Upon registration of the host window, the Share System sends a notification of registration of the host window to the shadow computer system. At the shadow computer system, the Share System receives the sent notification of registration of the host window. Upon receiving the sent notification of registration of the host window, the Share System registers a shadow window with the windowing system of the shadow computer system so that the window wing system of the shadow computer system can send messages to the shadow window and receive data to display in the shadow window.
U.S. Pat. No. 5,973,702 to Orton, et al. issued Oct. 26, 1999 and entitled “Oriented view system having a common window manager for defining application window areas in a screen buffer and application specific view objects for writing into the screen buffer” discloses an object-oriented view system that controls the display of screen graphics for a plurality of application programs, each of which generates graphical information for display in a window assigned to it. The view system has a system window manager which is common to all of the application programs and which defines application window areas on the display screen and corresponding application window storage areas in the display screen buffer. Each application program instantiates a view system object from class information in the computer operating system. Each view system object includes a view object with program code that directly stores screen display information generated by the application into the screen buffer. This arrangement allows the application programs to ostensibly avoid the conventional “bottleneck” that develops when all of the screen display information must be stored in the screen buffer by the common system window manager.
U.S. Pat. No. 5,995,103 to Ashe issued Nov. 30, 1999 and entitled “Window grouping mechanism for creating, manipulating and displaying windows and window groups on a display screen of a computer system” discloses a window grouping mechanism for creating, organizing and manipulating windows and window groups for display to a user of a computer system. The window grouping mechanism includes a series of linked data structures configured to organize information pertaining to all windows defined by an application program executing on the computer system. The application program interacts with the window grouping mechanism to further organize the information into any number of window groups each of which contains a different subset of the previously defined windows. These window groups may then be manipulated by the application program to efficiently create various permutations of window groups.
U.S. Pat. No. 6,219,044 to Ansberry, et al. issued Apr. 17, 2001 and entitled “Method for managing top-level windows within a conferencing network system” discloses a method and system for managing top-level windows controlled by a conference enabler is disclosed. The system operates in a conferencing network system having a conference enabler for distributing applications to a plurality of servers. Each server has its own display. The method and system identifies a top-level window sent by the conferenced application. Next, it identifies whether a top-level window is among the requests sent by the conferenced application is a root window. The system then enters a window ID associated with the top-level window into a list of top-level windows. Then, the system provides a slot associated with the top-level window within the list for storing the window configuration of the top-level window as configured by each of the participant servers.
U.S. Pat. No. 6,397,262 to Hayden, et al. issued May 28, 2002 and entitled “Window kernel” discloses a system for managing the interaction of programs, comprising (i) means for storing a set of predetermined characteristics respecting each program to be managed, each set of characteristics including an input signal type characteristic indicative of the identity of the type of inputs signals to which the program associated with the set of characteristics, is responsive and a signal modification characteristic indicative of whether a type of input signal is to be modified by the associated program; (ii) means responsive to input signals having predetermined properties emitted from one of the programs for interrogating each set of predetermined characteristics in a predetermined sequence, determining whether the associated program is responsive to a current input signal, determining whether the properties of the current input signal are to be modified and, if so, modifying the properties of the input signal; and (iii) means for emitting an output signal to the programs determined to be responsive to the input signal.
United States Patent Application Publication 20020009149 to Rodriguez, et al. published Jan. 24, 2002 and entitled “System and method for adaptive video processing with coordinated resource allocation” discloses a system and method for adaptive video decoding. The method for adaptive video decoding includes determining whether a resource constrained mode is to be initiated, and responsive to a determination that the resource constrained mode is to be initiated, initiating the resource constrained mode, including foregoing the decoding of portions of received video input. For example, adaptive video decoding may include foregoing the decompression and reconstruction of selected video frames during intervals of high demand for memory and/or bus bandwidth resources.
United States Patent Application Publication 20020049978 to Rodriguez, et al. published Apr. 25, 2002 and entitled “System and method for access and placement of media content information items on a screen display with a remote control device” discloses a system and method for providing interactive media services in a subscriber network television system. The system receives a first user input from a remote control device indicating a user's desire to select an item of media content information displayed in a user interface on a screen; and receives a second user input from the remote control device indicating a user's desire to drag the item of media content information to a screen destination.
United States Patent Application Publication 20020052977 to Stall published May 2, 2002 and entitled “Method and apparatus for adapting and hosting legacy user interface controls” discloses a method and apparatus for adapting and hosting legacy user interface controls. Legacy user interface controls are exposed within a new window manager as native user interface objects. A bridge between a hosted legacy user interface control and the legacy window manager intercepts messages intended for the hosted user interface control. The messages are filtered to determine if they should be passed to the new window manager. If a message is to be forwarded, the message is forwarded to a root “Visual Gadget” in the new window manager. The message is processed and routed down the window tree to an adapter control for hosting the legacy user interface control. The adapter control processes the message and routes the message to any listener objects attached to the adapter. If the message has not been completely handled, the message is “bubbled” up the window tree to the parent objects of the adapter control for additional processing.
United States Patent Application Publication 20020112090 to Bennett, et al. published Aug. 15, 2002 and entitled “Method, system, and product for a java-based desktop to provide window manager services on UNIX” discloses a window manager proxy method, system, and product allowing a Java based desktop to provide window manager services on UNIX. A computer system executes a UNIX-based operating system and a desktop implemented in Java. The computer system does not include a separate window manager. Java applications are presented by the computer system utilizing a graphical user interface. Native UNIX applications are also presented by the computer system utilizing the same graphical user interface. Native UNIX applications interact with the window manager proxy in the same manner in which they would interact with a traditional window manager. The window manager proxy forwards frame window activity related to the desktop to the Java desktop, and is the native interface from the Java desktop to the native platform for frame window activities. Native UNIX applications, Java applications, and the Java desktop are thus rendered and managed in a consistent manner providing the end user with the look and feel as configured within the Java desktop.
United States Patent Application Publication 20020126144 to Chenede, published Sep. 12, 2002 and entitled “Apparatus and method for communicating graphical display data in a network-based windowing system” discloses apparatus and methods of communicating graphical display data in a network-based windowing system are disclosed. An interface is operable to permit direct access between an application and a window manager, where the window manager is responsible for controlling window layout within at least one workspace in accordance with predefined rules. The interface is operable to provide at least one control module for controlling communication between the application and the window manager and at least one repository of data to be communicated between an application and the window manager. Such an interface enables the provision of a flexible and extensible approach to communicating between an application and a window manager. Such an interface can readily be implemented as an extension to a conventional windowing system.
United States Patent Application Publication 20020191028 to Senechalle, et al. published Dec. 19, 2002 and entitled “Window manager user interface” discloses a window manager having a frame window, with one or more pane windows. Each pane window has a viewing area that is used to display an application. If the application running in the viewing area cannot be fully viewed, a scroll bar and scroll keys are provided to enable the user to scroll through the entire application. The user can quickly and easily create and remove pane windows within the frame window. Pane windows are created by splitting an existing pane window either vertically or horizontally, with the two new split pane windows occupying the space of the original pane window. When a pane window is closed, one or more of the remaining pane windows are maximized to occupy its space. Accordingly, the window manager enables the pane windows to be dynamically and simultaneously presented to a user. The pane windows do not interfere with one another, and are arranged to maximize the space available in that frame window.
United States Patent Application Publication 20030081664 to Lu, et al. published May 1, 2003 and entitled “Transmit and receive window synchronization” discloses a system for synchronizing sender sliding windows and receiver sliding windows employed in wireless packet communication. The sender sliding window buffers outgoing packets to be sent to a receiver that employs a receiver sliding window to buffer incoming packets. A sender window manager manages the sender sliding window through positive acknowledgement, negative acknowledgement and/or timeout processing to facilitate synchronizing the sender sliding window with the receiver sliding window without employing synchronization messages or master/slave control. Similarly, a receiver window manager manages the receiver sliding window through sequence number analysis to facilitate synchronizing the receiver sliding window with the sender sliding window without employing synchronization messages or master/slave control.
United States Patent Application Publication 20030107604 to Ording published Jun. 12, 2003 and entitled “Method and system for automatic window resizing in a graphical user interface” discloses a method and system for automatically resizing a window displayed within a display area in a graphical user interface environment. Exemplary embodiments of the present invention detect that at least a portion of the window is being dragged between a region inside of the display area and a region outside of the display area. Upon detection, the window is resized while being dragged. The resized window can be redrawn so that the frame of the resized window is displayed in the region inside of the display area.
United States Patent Application Publication 20030181241 Oakes, et al. published Sep. 25, 2003 and entitled “System and method for effectively implementing remote display devices in a gaming network” discloses a system and method for implementing remote display devices in a gaming network, which may include a game console configured to generate game program signals corresponding to a gaming event, and a base unit coupled to the game console for processing the game program signals to produce a game program bitstream. The base unit may then wirelessly transmit the game program bitstream to various remote units which may each be configured to receive the game program bitstream and responsively process the game program bitstream to retrieve the foregoing game program signals. The remote units may then each perform a pixel identification procedure to individually identify different assigned windows from the game program signals. The remote units may also each perform a window zooming procedure to generate remote display video signals corresponding to the assigned windows. The remote units may then each advantageously display one of the remote display video signals in a substantially full-screen manner upon respective remote displays coupled to the remote units.
Various PC-oriented windowing programs exist, including for example the ubiquitous Microsoft Windows® operating system manufactured by Microsoft Corporation, and the MAC O/S (X) offered by Apple Computer Corp. These systems are exemplary of PC or hand-held device operating systems adapted to run multiple applications simultaneously, and manage UI or display windows accordingly. For instance, the recently introduced Apple Exposé system utilizes virtual and protected memory to allow multiple applications to remain open at the same time without having data loss in other applications if one program “crashes”. The Exposé system can manage several documents open per application, allowing the user to see all open windows at once, and then switch to the desired window. Alternatively, only the windows of the current program can be displayed.
Despite the broad variety of techniques, the foregoing prior art does not disclose an adequate display element (e.g., window) managing approach which is specifically adapted to digital television environments and their unique set of user input, display, and application harmonization issues. This is particularly acute with respect to the newly developed HAVi environment, which provides a markedly different architecture and issues than those of the prior art, yet provides no elegant solution for cross-application window coordination or management.
Accordingly, there is a need for improved apparatus and methods for providing application display element management and control within, e.g., CATV/HFC networks. These improved apparatus and methods would meet these needs while also enabling compliance with industry standard requirements within the network.